Image processing inspection apparatus

ABSTRACT

In the present invention, the same image data, captured by a TV camera, is processed by the use of an image-processing board connected to an extension bus constituted by a personal computer and a CPU board inside the personal computer so that the CPU board and the image-processing board are allowed to execute the image processes in parallel with each other.

FIELD OF THE INVENTION

The present invention relates to an image processing inspectionapparatus used as production equipment for industrial uses in judgingthe quality of products in manufacturing processes and an inspectionmethod for such an apparatus.

BACKGROUND OF THE INVENTION

Lately, an increasing number of controlling apparatuses and inspectionapparatuses that use personal computers as a base system have beenintroduced into manufacturing processes in factories and the like. Inparticular, windows OS systems (for example, Windows 95, Windows 98,Windows NT, etc. of Microsoft Corp.) have superior HMIs (Human-MachineInterfaces). For this reason, in those apparatuses using personalcomputers as their basic systems, there are great advantages for theuser to be able to operate various pieces of software, such as wordprocessing software, spreadsheet software, graphics drawing software,data base software, etc. based upon common techniques on the windows OSsystem.

Recently, with respect to various controlling operations such as, forexample, positioning control for robots, a piece of dedicated hardwarerelating to a specific controlling operation is connected to a personalcomputer, and the operation can be carried out by using applicationsoftware on the windows OS system.

Another advantage of using windows OS systems is that data exchanges canbe easily carried out between different kinds of application software.For example, in those typical windows OS systems of Microsoft Corp.,Windows 95, Windows 98 and Windows NT, commands can be sent and data canbe updated and received from one application to another application in adynamic manner using OLE (Object Linking and Embedding) technique.

Meanwhile, a number of image processing inspection apparatuses have beenintroduced into factories and the like as production equipment that canperform various visual inspections, which used to be dependent on humanvisual sense, accurately, automatically, with high speeds. In such afield of image processing inspection apparatuses, apparatuses have alsobeen developed in which a board is inserted into an extension bus in apersonal computer so that control is provided by using pieces ofapplication software, for example, on a windows OS system.

In general, the image processing inspection apparatus is used forinspecting the quality, etc. of products on a production line, forexample, as shown in FIG. 10. Products (hereinafter, referred to astargets) 52, carried on a conveyor belt 51, are photographed by a TVcamera 53, and with respect to the photographed images, various imageprocesses, such as a position-correcting process, an area-measuringprocess and a center-of-gravity-position calculating process, arecarried out. Then, a sequence of operation outputting processes arecarried out in which numerical operations are carried out on the resultsof the image processes; based upon the values thus found, logicaloperations for judging the quality of the inspected products are carriedout; and the results are then outputted.

Conventionally, the above-mentioned sequence of processes were achievedby developing exclusive hardware and the exclusive piece of softwarethat operates on the hardware. However, in recent years, with the rapiddevelopments of functions of the CPU in personal computers, a number ofapparatuses for carrying out all these processes in the CPU of apersonal computer have been developed.

In other words, when a target 52, carried on the conveyor belt 51 isdetected by a sensor 54, a detection signal is sent to a personalcomputer 55 as a trigger input for starting detection, and an image onTV camera 53 is captured. Here, the personal computer 55 is providedwith, for example, parallel interface inputs, and when the detectionsignal is inputted to its terminal, the detection is started so as tocapture the image. Thereafter, the above-mentioned image processes andsequence of operation output processes are carried out by the personalcomputer 55.

FIG. 11 shows a structural example of such an image processing detectionapparatus. A personal computer 61 is installed as a central processingcontrol device, and an image capture board 62 is inserted into anextension bus 63 (connector connection) of the personal computer 61. Theboard 62, which has a simple construction with an image capture memory65 for storing image data from the TV camera 64 and a bus controllingcircuit 66, is manufactured at low costs. The bus-controlling circuit 66transmits the image data captured and stored in the image capture memory65 to a memory 68 on a CPU board 67 inside the personal computer 61.

For example, in the case when the extension bus 63 has a PCI busconstruction, a number of image capture boards, which can directlycontrol the bus and transmit image data to the memory 68 on the CPUboard 67, are commercially available. The camera image that has beenstored in the memory 68 on the CPU board 67 is processed by the CPU 69by using image-processing software that has been loaded in the samememory 68.

FIG. 12 shows a specific example of the processing sequence. First,after an image is captured as described above at step S51, imageprocesses, such as a window process (S52), a feature-extracting process(S53) and a matching process (S54), are successively carried out. Next,based upon the results of these image processes, post-processes, such asnumerical-operation and judging processes (S55), a result-displayingprocess (S56) and a result-outputting process (S57), are carried out.

Here, the window process refers to a process in which, in the case of abinarizing process, the number of pixels in areas (specified color(white or black)) within a set region is found, and in the case of alight and shade process, the sum or the average value of light and shadepixels within a set region is found. The feature-extracting processrefers to a process in which the amounts of features (coordinates ofcenter of gravity, areas, peripheral length, circumscribing rectangles,inertial main axis, etc.) of respective lands (independent lumps eachhaving a specified color (white or black)) within a region set by abinarizing process are found. The matching process refers to a processin which, in the light and shade process, based upon the degree ofcoincidence (coefficient of correlation) as to where a preliminaryextracted template image exists within a set region, coordinates, anglesand other factors are found.

Here, one of the indications in estimating the functions of an imageprocessing inspection apparatus is how fast it executes processes. Inthe above-mentioned construction, for example, when differentapplications are executed on the same personal computer by using amulti-task mode, the ratio of time that the CPU can allocate to imageprocesses is reduced, with the result that the image-processing time isgreatly lengthened.

In contrast, for example, in 4MEG VIDEO Model 12 introduced by EPIXVISION-OCTOBER 1994 NEWSLETTER, [Online]October 1994(1994-10), pages1-2, XP002117630 Retrieved from the Internet: <URL http://www2.interaccess.com/epix/v3n4 a3.htm>, in addition to a data picking-upprocess for image data from a digital camera, a function for carryingout image processing is also provided. Therefore, an image processingboard also having such an image processing function is connected to anextension bus of a personal computer so as to develop an imageprocessing inspection apparatus.

Here, in EPIX VISION-OCTOBER 1994 NEWSLETTER, [Online]October1994(1994-10), pages 1-2, XP002117629 Retrieved from the Internet:<URL:http://www2.interaccess.com/epix/v3an 4a1.htm>, twin C40s, whichare installed in the 4MEG VIDEO Model 12. have been introduced. Anexplanation is given of the fact that image data, picked up by the 4MEGVIDEO Model 12, is transferred to these C40s where image processing isrespectively carried out thereon so that it becomes possible to furtherimprove the image processing capability.

An image processing board having an image processing function is formedby using such a 4MEG VIDEO Model 12 (or 4MEG VIDEO Model 12 equippedwith twin C40s), etc., and this is connected to an extension bus 72 of apersonal computer 71 so as to construct an image processing inspectionapparatus; and an example thereof is shown in FIG. 13.

In this Figure, an image processing board 74, connected to the extensionbus 72 of the personal computer 71, is provided with an image capturingmemory 75 for capturing images from a TV camera 73, a bus controllingcircuit 76, a ROM 77 for storing image processing software, in whichimage processing software is stored, a RAM 78 used for the imageprocessing software, in which the image processing software is loaded atthe time of activation, and a CPU 79 that is operated in accordance withthe image processing software.

In this apparatus, an image process which has to be executed as short atime as possible is executed by the CPU 79 on the image-processing board74. In the personal computers 71, in accordance with pieces ofapplication software, processes, such as setting changes in parametersof various processes, displaying of image-processing areas, displayingof results, numerical operations, and setting and displaying of logicaloperations, are carried out.

The image-processing board 74 and the personal computer 71 share datathrough the extension bus 72 by using, for example, a shared memory(dual port memory element) 80. Since any image data appears on theextension bus 72, it is possible to cut the amount of data to betransferred. Moreover, since the CPU 79 on the image-processing board 74carries out image processes, it is possible to reduce loads imposed onthe main CPU 81 inside the personal computer 71. Additionally, insteadof the memories 77, 78 and the CPU 79 of the image-processing board 74,exclusive hardware for image-processing such as a large-scale gate arrayand an ASIC may also be used.

However, the contents of image processes that can be executed by usingthe above-mentioned image-processing board 74 are limited by softwarepreliminarily stored in the image-processing program storage-use ROM 77or the exclusive hardware such as the gate array installed on theimage-processing board; this raises a problem of lack of flexibility.

The present invention has been developed in view of the above points andit has an object to provide an image processing inspection apparatuswhich can achieve high-speed processes for the apparatus as a whole andcan reduce loads imposed on the CPU of the central processing controldevice on demand, and an inspection method using such an apparatus.

SUMMARY OF THE INVENTION

In the image processing inspection apparatus and the inspection methodof the present invention, the same image data, captured by a TV camera,is processed by the use of an image-processing board connected to anextension bus of a central processing control device constituted by apersonal computer and a CPU board inside the central processing controldevice so that the CPU board and the image-processing board are allowedto appropriately share and execute the image processes in parallel witheach other.

Moreover, in the image processing inspection apparatus and theinspection method of the present invention, image data, captured by a TVcamera, is subjected to an image process by the image-processing boardconnected to the extension bus of the central processing control device,while the image data is also subjected to a post-process carried out bythe CPU board inside the central processing control device based uponthe results of the image process. Here, these image process andpost-process are carried out in parallel with each other.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram that shows a construction of an imageprocessing inspection apparatus in accordance with embodiment 1 of thepresent invention.

FIG. 2 is a flow chart that shows a sequence of processes in theapparatus of embodiment 1.

FIG. 3 is a block diagram that shows a construction of an imageprocessing inspection apparatus in accordance with embodiment 2 of thepresent invention.

FIG. 4 is a flow chart that shows a sequence of processes in theapparatus of embodiment 2.

FIG. 5 is a block diagram that shows a construction of an imageprocessing inspection apparatus in accordance with embodiment 3 of thepresent invention.

FIG. 6 is a flow chart that shows a sequence of processes in theapparatus of embodiment 3.

FIG. 7 is a block diagram that shows a construction of an imageprocessing inspection apparatus in accordance with embodiment 4 of thepresent invention.

FIG. 8 is a block diagram that shows a construction of an imageprocessing inspection apparatus in accordance with embodiment 5 of thepresent invention.

FIG. 9 is a flow chart that shows a sequence of processes in the imageprocessing inspection apparatus in accordance with embodiment 6 of thepresent invention.

FIG. 10 is an explanatory drawing that shows one example of inspectioncarried out by an image processing inspection apparatus.

FIG. 11 is a block diagram that shows a construction of a conventionalimage processing inspection apparatus.

FIG. 12 is a flow chart that shows a sequence of processes in theconventional image processing inspection apparatus.

FIG. 13 is a block diagram that shows a construction of anotherconventional image processing inspection apparatus.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Embodiment 1

FIG. 1 shows a construction of an image processing inspection apparatusin accordance with embodiment 1. This apparatus is provided with apersonal computer 1 as its central processing control device, and anexternal storage device 3 constituted by a CPU board 2, a hard disk,etc., an interface 4 and a general-use extension bus (for example, a PCIbus) 5 are installed in the personal computer 1.

The CPU board 2 is provided with a main CPU 6 and a main memory 7. Uponstarting the personal computer 1, an OS program (not shown) is loaded tothe main memory 7 from the external storage device 3, andimage-processing software A and application software are also loadedthereto (or loaded at the time of executing in some cases).

An image-processing board 11 to which a TV camera 10 is connected isinserted (connector connection) into the extension bus 5.

A CPU (hereinafter, referred to as a sub CPU) 12, which is exclusivelyused for image processing, is installed in the image-processing board 11in a separate manner from the main CPU 6 inside the personal computer 1.Moreover, in the board 11 are installed an image capture memory 13 forreceiving and storing an image captured by the TV camera 10, animage-processing software storage-use memory 14 consisting of a ROM, andan image-processing software-use memory 15 consisting of a RAM.Image-processing software B is stored in the image-processing softwarestorage-use memory 14, and this software B is loaded to theimage-processing software-use memory 15 at the time of starting thepersonal computer 1.

A shared memory 16 and a bus controlling circuit 17, which are used fortransmitting and receiving data to and from the CPU board 2 of thepersonal computer 1, are further installed in the image-processing board11. By using the shared memory 16, setting data for an image process tobe executed by the image-processing board 11 is sent from the CPU board2, and the results of the image process executed by the image-processingboard 11 are returned to the CPU board 2.

Moreover, as will be described later, in the case when a camera image,captured by the image capture memory 13, is transferred to the mainmemory 7 of the personal computer 1, the image data is furthertransferred to the extension bus 5 by the bus controlling circuit 17.

A piece of software, which controls the entire apparatus, is loaded tothe main memory 7 in the personal computer 1 as one piece of applicationsoftware that is operated by the CPU 6. The functions of this softwareare:

(1) to set a sequence of image processes to be executed;

(2) with respect to set image processes, to allocate those imageprocesses to the main CPU 6 and the sub CPU 12 in the image-processingboard 11 so as to be executed correspondingly;

(3) to transfer setting parameters for image processes to be executed inthe sub CPU 12 to the sub CPU 12 through the shared memory 16; and

(4) based upon the results of the image processes transferred from theimage-processing board 11 and the results of the image processesexecuted by the main CPU 6, to carry out numerical operations andjudgements so that some of the results required are displayed on amonitor (not shown) of the personal computer 1 or externally outputtedby using the interface 4.

By using the image processing inspection apparatus having theabove-mentioned construction, an inspection is carried out in accordancewith a flow chart shown in FIG. 2. More specifically, when the start ofthe inspection is instructed by the interface 4 and an operation by theuser, a captured image of a target is taken in the image capture memory13 on the image-processing board 11 from the TV camera 11. At the sametime, the camera image, taken in the image capture memory 13, istransferred to the main memory 7 of the personal computer 1 through theextension bus 5 (S1).

In the PCI bus architecture, since the bus is operated at 33 MHz with 32bits, the maximum transfer rate is, in principle, given as 32×33MHz/8=132 M bytes/sec. In an actual operation, it is approximately ¼ to⅕ the theoretical value. Nevertheless, for example, in the case of thetransfer of one screen 512×512 pixels×8 bits=256 K bytes, it isapproximately 0.256/(132/5)≈10 ms. Since this value is shorter than 33.3ms that is a capture time of the frame image, it is possible to actuallycarry out a real-time transfer process. Here, the image data transfer tothe extension bus 5 at this time is carried out by the bus controllingcircuit 17 on the image-processing board 11; therefore, loads imposed onthe main CPU 6 of the personal computer 1 can be reduced.

When the image data is also stored in the main memory 7 of the personalcomputer 1 as described above, the main CPU 6 of the personal computer 1and the sub CPU of the image-processing board 11 execute image processesrespectively in parallel with each other by using the same image data.At this time, the mutual conditions of the image processes are set bythe aforementioned software that is operated by the main CPU 6 of thepersonal computer 1 (that is, consideration is given to a case, such asa position correcting process, in which the process has a mutuallydependent relationship, so as to allocate data for actual parallelprocesses).

In the present embodiment 1, the main CPU 6 of the personal computer 1carries out the window process and the feature-extracting process (S2,S3) by using the image-processing software A, while the sub CPU 12 onthe image-processing board 11 simultaneously carries out the matchingprocess by using the image-processing software B (S4) In this case,parameters required for the matching process have been transferredpreliminarily from personal computer 1 to the image-processing board 11.

The results of the matching process by the image-processing board 11 aresent to the CPU board 2 of the personal computer 1 through the sharedmemory 16, and, together with the results of the window process and thefeature-extracting process that have been carried out by the CPU board2, subjected to the post-processes, such as numerical operation andjudging processes, a result displaying process and a result outputtingprocess (S5 to S7). Then, the inspection for this target is completed,and an inspection for the next target is started.

As described above, in the present embodiment, the bus controllingcircuit 17, which serves as an image transfer means, also transfers thecamera image taken in the image capture memory 13 to the main memory 7.Moreover, the image-processing software A, which serves as a CPUoperation controlling means, is loaded to the main memory 7 so as toallow the main CPU 6 to carry out image processes on the camera imagestored in the main memory 7. Then, in accordance with the applicationsoftware that has a function as a parallel-process controlling means,the image processes with respect to the camera image are carried out bythe main CPU 6 and the sub CPU 12 in parallel with each other in ashared manner between the main CPU 6 and the sub CPU 12 serving as animage-processing means in the image-processing board 11.

Conventionally, as illustrated in FIG. 12, the image capture process,the image processes and the post-processes are carried out sequentially.Here, in general, the matching process (pattern matching) usingnormalized correlation is executed as a light and shade process, whilethe window process and the feature-extracting process are executed asbinary image processes. For this reason, the matching process takes moretime as compared with the window process and the feature-extractingprocess. Moreover, for example, in the case when the feature-extractingprocess needs to be executed by using the results of the execution ofthe window process, these processes have to be executed in a sequentialmanner. However, for example, the matching process can be executed inparallel with another image process without raising any problem;therefore, the conventional inspection sequence, which carries out evensuch a process in a sequential manner, fails to increase the speedperformance as a whole.

In contrast, as described above, in the apparatus of the presentembodiment, the same image data is taken in the personal computer 1 andthe image-processing board 11; thus, the window process, thefeature-extracting process and the matching process are shared by thepersonal computer 1 and the image-processing board 11 so that theseprocesses are executed in parallel with each other. Therefore, theprocessing time is shortened as a whole, and it is possible to reduceloads imposed on the main CPU 6 of the personal computer 1.

Embodiment 2

FIG. 3 shows a construction of an image processing inspection apparatusin accordance with embodiment 2. Here, those members that have the samefunctions as those explained in FIG. 1 are indicated by the samereference numerals, and the detailed description thereof is omitted. Thesame is true for the other embodiments that will be discussed later.

In the present embodiment, two image-processing boards 11A and 11B, eachhaving the same construction as the aforementioned construction, areconnected to an extension bus 5 of a personal computer 1.

A TV camera 10 which is the same as that explained earlier is connectedto one (specific one) of the image-processing boards (hereinafter,referred to as a main image-processing board 11A). The otherimage-processing board (hereinafter, referred to as sub image-processingboard 11B) is only different from the main image-processing board 11A inthat the TV camera 10 is not connected thereto.

In addition, image-processing software C is stored in animage-processing software storage-use memory 14 of the subimage-processing board 11B. This image-processing software C may be thesame as image-processing software B stored in an image-processingsoftware storage-use memory 14 of the main image-processing board 11A,or may have a separate function from the software B; that is, forexample, the image-processing software B executes the feature-extractingprocess and the image-processing software C executes the matchingprocess.

Upon starting the personal computer 1, the pieces of image-processingsoftware B and C, which are stored in the respective image-processingsoftware storage-use memories 14 and 14, are loaded to respectiveimage-processing software-use memories 15•15.

In the same manner as described earlier, software for controlling thepresent image processing inspection apparatus is loaded to the mainmemory 7 of the personal computer 1 as a piece of application softwarethat is operated by the main CPU 6. The functions of this software are:

(1) to set a sequence of image processes to be executed;

(2) with respect to set image processes, to allocate those imageprocesses to the main CPU 6 and the sub CPUs 12•12 in theimage-processing boards 11A and 11B so as to be executedcorrespondingly;

(3) to transfer setting parameters for image processes to be executed inthe sub CPUs 12•12 to the sub CPUs 12•12 through the shared memories16•16; and

(4) based upon the results of the image processes transferred from theimage-processing boards 11A and 11B and the results of the imageprocesses executed by the main CPU 6, to carry out numerical operationsand judgements so that some of the results required are displayed on amonitor (not shown) of the personal computer 1 or externally outputtedby using the interface 4.

By using the image processing inspection apparatus having theabove-mentioned construction, an inspection is carried out, for example,in accordance with a flow chart shown in FIG. 4. More specifically, whenthe start of the inspection is instructed, image data captured by the TVcamera 10 is taken in the image capture memory 13 on the mainimage-processing board 11A. At the same time, the image data istransferred to the main memory 7 of the personal computer 1 and theimage capture memory 23 in the sub image-processing board 21 through theextension bus 5 (S11).

Then, by using the image data having the same contents, the CPU board 2of the personal computer 1 carries out the window process based upon theimage-processing software A (S12), the main image-processing board 11Acarried out the feature-extracting process based upon theimage-processing software B (S13), and the sub image-processing board11B carries out the matching process based upon the image-processingsoftware C (S14); thus, these processes are carried out independently inparallel with each other. At this time, the mutual conditions of theimage processes are set by the aforementioned software that is operatedby the main CPU 6 of the personal computer 1. Moreover, parametersrequired for the image processes of the respective image-processingboards 11A and 11B have preliminarily been transferred to the respectiveimage-processing boards 11A and 11B from the personal computer 1.

Upon completion of the feature-extracting process and matching processat the respective image-processing boards 11A and 11B, the results ofthese processes are sent to the CPU board 2 of the personal computer 1through shared memories 16•16, and, together with the results of thewindow process executed in the CPU board 2, subjected to post-processesin accordance with the aforementioned software (S15 to S17).

Additionally, the above-mentioned embodiment exemplifies a case in whichthe sub image-processing board 11B is connected to the extension bus 5in addition to the main image-processing board 11A; however, the sameexplanation is applied to another case in which two or more subimage-processing boards are inserted thereto.

Embodiment 3

FIG. 5 shows a construction of an image processing inspection apparatusin accordance with embodiment 3. In this apparatus also, a plurality ofimage-processing boards 11•11 (two in the case of the Figure) areconnected to an extension bus 5 of the personal computer 1.

Each of the image-processing boards 11•11 has the same construction asthose described earlier, and the present embodiment is different fromembodiment 2 in that TV cameras 10•10 are respectively connected to theimage-processing boards 11, 11.

Image-processing software B is stored in one of the image-processingsoftware storage-use memories 14•14 of the image-processing boards11•11, and image-processing software C is stored in the other thereof.These pieces of software B and C may have the same contents in the samemanner as described above, or may have different processing contentsbased upon camera images that are taken in through the respective TVcameras 10•10.

In the same manner as described earlier, software for controlling thepresent image processing inspection apparatus is loaded to the mainmemory 7 of the personal computer 1 as a piece of application softwarethat is operated by the main CPU 6. The functions of this software are:

(1) to set a sequence of image processes to be executed for each ofcamera images;

(2) with respect to set image processes, to allocate those imageprocesses to the main CPU 6 and the sub CPUs 12•12 in theimage-processing boards 11•11 so as to be executed correspondingly;

(3) to transfer setting parameters for image processes to be executed inthe sub CPUs 12•12 to the sub CPUs 12•12 through the shared memories16•16; and

(4) based upon the results of the image processes transferred from theimage-processing boards 11•11 and the results of the image processesexecuted by the main CPU 6, to carry out numerical operations andjudgements so that some of the results required are displayed on amonitor of the personal computer 1 or externally outputted by using theinterface 4.

By using the image processing inspection apparatus having theabove-mentioned construction, an inspection is carried out, for example,in accordance with a flow chart shown in FIG. 6. More specifically, whenthe inspection is started, images captured by the TV cameras 10•10 aretaken in the image capture memories 13•13 on the image-processing boards11•11. At the same time, the image data is transferred to the mainmemory 7 of the personal computer 1 through the extension bus 5 (S21,S22).

Then, with respect to the image data taken in one of theimage-processing board 11, the main CPU 6 of the personal computer 1carries out the window process and the feature-extracting process (S23,S24) by using the image-processing software A, while the sub CPU 12 onthe corresponding image-processing board 11 simultaneously carries outthe matching process by using the image-processing software B in aparallel manner (S25).

Moreover, with respect to the image data taken in the otherimage-processing board 11, the main CPU 6 carries out, for example, anedge-detection process and the feature-extracting process (S26, S27),while the sub CPU 12 on the corresponding image-processing board 11simultaneously carries out the matching process by using theimage-processing software C in a parallel manner (S28). Here, theedge-detection process refers to a process in which coordinates of anedge are found within a set area based upon a binarizing process or alight and shade process.

At this time, the mutual conditions of the image processes are set bythe aforementioned software that is operated by the main CPU 6 of thepersonal computer 1.

The results of the image processes in the respective image-processingboards 11•11 are sent to the CPU board 2 through the shared memories16•16, and, together with the results of the image processes such as thewindow process executed in the CPU board 2, subjected to post-processesin accordance with the aforementioned software (S29 to S31).

In this manner, in the present embodiment, both of the image-processingboards 11•11 execute the matching processes which take a relatively longprocessing time, and all the other image processes are executed by themain CPU 6 of the personal computer 1. In this case, although loads onthe main CPU 6 increase to be approximately double as compared withembodiment 1, the loads are relatively light as compared with a case inwhich the CPU 6 executes all processes including the matching process.

Here, the above-mentioned embodiment exemplifies a case in which twoimage-processing boards 11 are connected; however, the explanation isapplied to another case in which three or more image-processing boardsare inserted, in the same manner.

Moreover, the above embodiment exemplifies a case in which all the imagedata stored in the respective image capture memories 13•13 istransferred to the main memory 7 in the personal computer 1; however,since the amount of data transferred increases as the number ofimage-processing boards increases, desired image data of a singleimage-processing board 11 or a plurality of specific image-processingboards 11, which is to be processed by the CPU board 2 of the personalcomputer 1, may be transferred in a limited manner.

In this case, the CPU board 2 of the personal computer 1 transmits arequest for data transfer through the extension bus 5 to the buscontrolling circuit 17 of the image-processing board 11 from which theimage data is required to be transferred, and when an image is taken inthe image-processing board 11, the bus controlling circuit 17 controlsthe extension bus 5 so as to transfer the image data to the CPU board 2at high speeds.

Embodiment 4

FIG. 7 shows the construction of an image processing inspectionapparatus in accordance with embodiment 4. This apparatus is providedwith two personal computers 1A and 1B. Each of these has the sameconstruction as the personal computer 1 shown in FIG. 1, and to anextension bus 5A of one of the personal computers (hereinafter, referredto as a first personal computer 1A) are inserted a main image-processingboard 11A to which a TV camera 10 is connected and a plurality of subimage-processing board 11B. These main image-processing board 1A and subimage-processing boards 11B respectively have the same constructions asthe main image-processing board 11A and the sub image-processing board11B shown in FIG. 3 (hereinafter, the first personal computer 1A, therespective image-processing boards 11A and 11B connected thereto and theTV camera 10 are collectively referred to as a first unit U1).

To an extension bus 5B of the other personal computer (hereinafter,referred to as a second personal computer 1B) are inserted a pluralityof sub image-processing boards 11B, each having the same construction asdescribed above (hereinafter, the second personal computer 1B and thesub image-processing boards 11B are collectively referred to as a secondunit U2).

Moreover, the extension buses 5A and 5B are directly connected to eachother so that the CPU boards 2A and 2B of the respective personalcomputers 1A and 1B are connected to each other.

Furthermore, software for controlling the present image processinginspection apparatus is loaded to the main memory (not shown) of thefirst personal computer 1A as a piece of application software that isoperated by the main CPU (not shown) of the first personal computer 1A.

The functions of this software are:

(1) to set a sequence of image processes to be executed;

(2) with respect to the set image processes, to allocate those imageprocesses to the CPU board 2A, the CPU board 2B, the mainimage-processing board 11A and the respective sub image-processingboards 11B so as to be respectively executed therein;

(3) to transfer setting parameters for image processes to be executed inthe respective sub CPUs (not shown) of the main image-processing board11A and the sub image-processing boards 11B to the main image-processingboard 11A and the sub image-processing boards 11B through the sharedmemories on the respective boards 11A and 11B. Moreover, the setting ofimage processes to be executed in the CPU board 2B of the secondpersonal computer 1B is directly transmitted to the main memory of theCPU board 2B through the extension buses 5A and 5B; and

(4) based upon the results of the image processes executed by the mainimage-processing board 11A and the respective sub image-processingboards 11B and the results of the image processes executed by therespective CPU boards 2A and 2B, to carry out numerical operations andjudgements so that some of the results required are displayed on amonitor of the personal computer 1A or externally outputted by using theinterface.

In the apparatus arranged as described above, an image captured by theTV camera 10 is first stored in the image capture memory on the mainimage-processing board 11A as image data. Simultaneously, the image datais transferred to the memory of the first personal computer 1A throughthe extension bus 5A, and also transferred to the image capture memoriesof the respective sub image-processing board 11B within the first unitU1. Moreover, it is further transferred to the second unit U2 throughthe extension buses 5A and 5B so as to be stored in the main memory onthe CPU board 2B of the second personal computer 1B and image capturememories of the respective sub image-processing boards 11B.

Then, the allocated image processes are carried out in parallel witheach other by the respective CPUs, and the results are transferred tothe CPU board 2A of the first personal computer 1A in which based uponthe results of the processes, processes such as numerical operations andjudgements are carried out.

Additionally, in the above-mentioned embodiment, the software forcontrolling the entire system is operated on the CPU board 2A of thefirst personal computer 1A; however, this operation may be carried outin the second personal computer 1B.

Moreover, the above-mentioned description exemplified the case in whichthe two sets of units, each constituted by image-processing boardsconnected to a personal computer, are prepared; however, the sameexplanation is applied to cases in which three sets or more areconnected to each other.

Furthermore, in the above-mentioned arrangement, the respective unitsare separated from each other for each personal computer; however,another arrangement may be adopted in which a plurality of CPU boardsand a plurality of image-processing boards are inserted to the motherboards of extension buses of one personal computer in a collective formas a whole.

In the above-mentioned embodiment, the image processes are allocated toall the CPU boards and the image-processing boards; however, thefollowing software arrangements may be adopted:

(a) The CPU board 2A of the first personal computer 1A takes care ofportions (post-processing) for controlling the sequence of set imageprocesses and for providing outputs based upon the results of the imageprocesses thus executed, and the CPU board 2B of the second personalcomputer 1B and the respective image-processing boards 11A, 11B, etc.carry out the image processes.

(b) The CPU board 2A of the first personal computer 1A controls the setsequence of image processes, the CPU board 2B of the second personalcomputer 1B takes care of portions (post-processing) for providingoutputs based upon the results of the image processes thus executed, andthe respective image-processing boards 11A and 11B carry out the imageprocesses.

Embodiment 5

FIG. 8 shows the construction of an image processing inspectionapparatus in accordance with embodiment 5. This apparatus also isprovided with a plurality of personal computers 1, and the respectiveCPU boards 2 of these personal computers 1 are directly connected toeach other by extension buses 5. This arrangement is different from thatof embodiment 4 in that a plurality of image-processing boards 11, eachhaving a TV camera 10 connected thereto, are connected to each personalcomputer 1. Here, all the image-processing boards 11 are not necessarilyprovided with TV cameras.

In this apparatus, a plurality of camera images are transferred to therespective CPU boards 2 through the extension buses 5. In this casealso, in the same manner as embodiment 4, software for controlling thepresent apparatus is loaded to the main memory of any one of thepersonal computers 1 as a piece of application software that is operatedin the main CPU. Moreover, processes may be allocated to the CPU boardsof the plural personal computers in a manner as shown in (a) and (b) ofembodiment 4.

Embodiment 6

Next, an explanation will be given of an image inspection apparatus inaccordance with embodiment 6 of the present invention. The constructionof this apparatus is the same as the apparatus construction explained byreference to, for example, FIG. 1. Therefore, the explanation will begiven while referring to the respective constituent parts that have beendiscussed using the Figure.

In this apparatus, an inspection is carried out following a sequenceshown in a flow chart in FIG. 9.

When the inspection is started, an image captured by the TV camera 10 istaken in the image capture memory 13 on the image-processing board 11 inthe same manner as described earlier (S41), and a sequence of imageprocesses such as the aforementioned window process, feature-extractingprocess and matching process are executed by the sub CPU 12 of theimage-processing board 11 (S42). Here, in the present embodiment,pre-processes such as image filtering are included in the imageprocesses, and these are executed by the image-processing board 11.

Then, the results of these image processes are transferred to the CPUboard 2 of the personal computer 1, and based upon the results,post-processes, such as numerical operations and judgements, displayingof the results and outputting of the results, are executed by the CPUboard 2 (S43 to S45).

After outputting the results of the image processes, theimage-processing board 11 captures an image of the next target (S46),and successively carries out the same image processes as described above(S47). Therefore, during this period, the post-processes at the CPUboard 2 and the image processes at the image-processing board 11 areexecuted in parallel with each other, and thereafter, parallel processesof this type are carried out.

In this manner, by assigning jobs so that the image-processing board 11carries out an image data capture process and image processes while theCPU board 2 of the personal computer 1 carries out the post-processesbased upon the results of the image processes, it becomes possible toprovide pipeline processes. The reason for this is that upon completionof the image processes at the image-processing board 11, the image datais no longer required, with the result that the image-processing board11 is allowed to capture a new image for the next inspection. In otherwords, upon completion of the image processes at the image-processingboard 11, the results that are required are transferred to the mainmemory 7 of the personal computer 1 through the shared memory 16, andsimultaneously with this operation, the image-processing board 11 isallowed to start the next image capture process and initiate the imageprocesses.

In general, since the post-processes have less amount of calculations ascompared with the image processes, it becomes possible to reduce loadsimposed on the main CPU 6, and consequently to simultaneously operategeneral-use application software without causing stress.

In the case when the inspection is repeated as fast as possible, theinspection time T for one cycle is represented as follows in the case ofthe conventional sequence of processes shown in FIG. 12:

T=[Image capture time]+[Image processing time]+[Post-processing time] Incontrast, in the present embodiment,

(i) if [Image capture time]+[Image processing time]≧[Post-processingtime], the inspection time T for one cycle is represented by:

T=[Image capture time]+[Image processing time], and

(ii) if [Image capture time]+[Image processing time]<[Post-processingtime], the inspection time T for one cycle is represented by:

T=[Post-processing time]

Therefore, with an arrangement in which software serving as a pipelineprocess control means for carrying out the above-mentioned pipelineprocess is installed as one piece of application software that isoperated in the main CPU 6 of the personal computer 1, it becomespossible to shorten the inspection process time as a whole, andconsequently to reduce the loads imposed on the main CPU 6.

Additionally, the above-mentioned pipeline process may be carried out byusing the apparatus construction of embodiment 2 explained by referenceto FIG. 3. In this case, the image processes in the respectiveimage-processing boards 11A and 11B are executed in parallel with eachother, and upon completion of all the image processes of theimage-processing boards 11A and 11B, sine the image data is no longernecessary, a new-image capture operation for the next inspection isavailable. In other words, when the image processes of all theimage-processing boards 11A and 11B have been completed, some of theresults that are required are transferred to the main memory 7 of thepersonal computer 1 through the shared memories 16•16, and the nextimage capture operation is started simultaneously with this operation;thus, it becomes possible to shorten the inspection time as a whole.

Moreover, the above-mentioned pipeline process may be carried out byusing the apparatus construction of embodiment 3 explained by referenceto FIG. 5. In this case also, the image processes in the respectiveimage-processing boards 11 are executed in parallel with each other, andimmediately after the results are transferred to the main memory 7 ofthe personal computer 1 through the shared memories 16·16, the nextimage capture operation is started and the image processes areinitiated.

The above-mentioned description explained specific embodiment of thepresent invention; however, the present invention is not intended to belimited by the respective embodiments. For example, the above-mentionedembodiments explained cases in which the image-processing means in theimage-processing boards 11, 11A and 11B is constituted byimage-processing software stored in the image-processing softwarestorage-use memory 14 and the sub CPU 12 operated by this; however, theimage-processing means may be constituted by exclusive hardware such asgate arrays.

Moreover, in the above-mentioned embodiments, no specific explanationwas given to pre-processes of the image processes; however, the presentinvention is applicable to a case in which predetermined pre-processes,such as rotation of an image, expansion and contraction filters for abinarized image, etc., are applied to an image from the TV camera.

INDUSTRIAL APPLICABILITY

The present invention is provided with a means for transferring imagedata captured by a TV camera to the main memory of a personal computer,a memory for storing the image data on an image-processing board that isinserted to an extension bus, and an exclusive CPU or hardware forcarrying out image processes, a single or a plurality of which areinstalled therein; thus, it is possible to provide an image processingdetection apparatus which can achieve high-speed processes in the entireapparatus and reduce loads imposed on the CPU of the personal computeron demand.

1. An image processing inspection apparatus, comprising: a TV camera; animage processing board connected to said TV camera, said imageprocessing board having an image capture memory that stores an imagecaptured by said TV camera and having an image-processing means forcarrying out image processing on the image stored in said image capturememory; a central processing control device having an extension bus, amain CPU, and a main memory, said image-processing board being connectedto said extension bus; image-transfer means for transferring the imagestored in the image capture memory to said main memory; CPU operationcontrolling means for providing control so that said main CPU carriesout image processing on the image that has been transferred to said mainmemory; and parallel process controlling means for providing control sothat said main memory and said image-processing means carry out imageprocessing on the image captured by the TV camera in a shared manner;wherein the image processing includes at least one of a windowingprocess, a feature extraction process, and a matching process, and, asthe parallel processing, said main CPU carries out at least one of thewindowing process, the feature extraction process, and the matchingprocess at the same time that the image-processing means carries out adifferent at least one of the windowing process, the feature extractionprocess, and the matching process.
 2. An image processing inspectionapparatus as claimed in claim 1, wherein said central processing controldevice is a personal computer.
 3. An image processing inspectionapparatus as claimed in claim 1, wherein said image-processing meanscomprises a memory for storing image-processing-use software, and a CPUthat operates in accordance with said software.
 4. An image processinginspection apparatus as claimed in claim 1, wherein said parallelprocess controlling means comprises control-use software stored in saidmain memory and said main CPU operates in accordance with said software.5. An image processing inspection apparatus as claimed in claim 1,further comprising: an output device configured to output results of theimage processing.
 6. An image processing inspection apparatus as claimedin claim 1, further comprising an image capture memory and a subimage-processing board connected to said extension bus, wherein theimage which has been captured by the image capture memory of saidimage-processing board is transferred to the image capture memory, andthe sub image-processing board carries out image processing on the imagecaptured by said image capture memory, in a shared manner.
 7. An imageprocessing inspection apparatus as claimed in claim 1, furthercomprising: a plurality of said image-processing boards are connected tothe extension bus, and wherein said image-transfer means and parallelprocess controlling means provide control so that image-processing meansof the respective image-processing boards and the main CPU carry outimage processing on the respective images that have been captured by TVcameras connected to the respective image-processing boards, in a sharedmanner.
 8. An image processing inspection apparatus as claimed in claim1, further comprising: a second extension bus of a second centralprocessing control device having a second main CPU and a second mainmemory directly connected to the extension bus of said centralprocessing control device, and wherein said image-transfer means andparallel process controlling means provide control so that the cameraimage, captured by the image capture memory of said image-processingboard, is sent to the second main memory of said second centralprocessing control device so as to allow the second main CPU of saidsecond central processing control device to carry out image processingin a shared manner.
 9. An image processing inspection apparatus asclaimed in claim 8, further comprising: a second image capture memoryand a second sub image processing board are connected to the secondextension bus of said second central processing control device, whereinthe image that has been captured by the image capture memory of saidimage-processing board is transferred to the second image capturememory, and the second sub image processing board includes a secondimage-processing means for image processing on the image captured bysaid memory in a shared manner.
 10. An image processing inspectionapparatus as claimed in claim 8, further comprising: an image-processingboard having a same construction as said image-processing boardconnected to an extension bus of said second central processing controldevice, and wherein said image-transfer means and parallel processcontrolling means provide control so that image-processing means of therespective image-processing boards and the main CPUs of the respectivecentral processing control devices carry out image processing on therespective images that have been captured by TV cameras that areconnected to the respective image-processing boards, in a shared manner.11. An image processing inspection apparatus, comprising: a TV camera;an image processing board connected to said TV camera, said imageprocessing board having an image capture memory that stores an imagecaptured by said TV camera and having an image-processing means forcarrying out image processing on the camera image stored in said imagecapture memory; a central processing control device having an extensionbus, a main CPU, and a main memory, said image-processing board beingconnected to said extension bus; an image-transfer means fortransferring the image stored in the image capture memory to said mainmemory; wherein in a post-process for outputting results of aninspection based upon results of the image processing a pipeline processcontrolling means is provided so that, when said central processingcontrol device starts to carry out the post-process based upon theresults of the image processing by said image-processing board, saidimage-processing board is allowed to carry out image processing on acamera image captured by a next TV camera in a parallel manner, andwherein the image processing includes at least one of a windowingprocess, a feature extraction process, and a matching process, and, asthe parallel processing, said main CPU carries out at least one of thewindowing process, the feature extraction process, and the matchingprocess at the same time that the image-processing means carries out adifferent at least one of the windowing process, the feature extractionprocess, and the matching process.
 12. An image processing inspectionmethod for an image processing apparatus that includes animage-processing board to which a TV camera is connected, theimage-processing board being connected to an extension bus of a centralprocessing control device, said method comprising: storing an imagecaptured by the TV camera in an image capture memory on theimage-processing board; carrying out image processing on the cameraimage stored in the image capture memory; outputting results of theinspection; and transferring the camera image to the main memory of thecentral processing control device so as to allow the main CPU inside thecentral processing control device to also carry out the image processingon the camera image, thereby carrying out the image processing by usingthe main CPU and the image-processing board in parallel with each otherin a shared manner; wherein the image processing includes at least oneof a windowing process, a feature extraction process, and a matchingprocess, and, as the parallel processing, said main CPU carries out atleast one of the windowing process, the feature extraction process, andthe matching process at the same time that the image processing boardcarries out a different at least one of the windowing process, thefeature extraction process, and the matching process.
 13. An imageprocessing inspection method for an image processing apparatus thatincludes an image-processing board to which a TV camera is connected,the image-processing board being connected to an extension bus of acentral processing control device, said method comprising: storing animage captured by the TV camera in an image capture memory on theimage-processing board; carrying out image processing on the cameraimage stored in the image capture memory; carrying out post-processingfor outputting results of the inspection based upon results of the imageprocessing; and carrying out a pipeline process so that, when thecentral processing control device starts to carry out thepost-processing based upon the results of the image processing by theimage-processing board, said image-processing board processes a cameraimage captured by a next TV camera in a parallel manner; wherein theimage processing includes at least one of a windowing process, a featureextraction process, and a matching process, and, as the parallelprocessing, said central processing control device carries out at leastone of the windowing process, the feature extraction process, and thematching process at the same time that the image-processing boardcarries out a different at least one of the windowing process, thefeature extraction process, and the matching process.